//
//  ZZLightLineModel.h
//  ZZBlue
//
//  Created by evan on 2017/10/16.
//  Copyright © 2017年 stonesMonkey. All rights reserved.
//

#import "ZModel.h"
#import "ZZCellImageModel.h"
#import "ZZColorRGBA.h"
#import "ZZLightViewTool.h"
typedef NS_ENUM(NSInteger,LightLineModel) {

    LightLineModelCustom = 1000,
    LightLineModelLiuXing = 1001,
    LightLineModelDieJia,
    LightLineModelTiaoBian,
    LightLineModelFugai,
    LightLineModelJianGe
};

@interface ZZLightLineModel : ZModel

// 名称
@property (nonatomic, copy)NSString *title;
// 模式
@property (nonatomic, assign)LightLineModel model;
// 方向
@property (nonatomic, assign)LightLineDirectionModel dicrection;
// 颜色
@property (nonatomic, strong)NSMutableArray<ZZColorRGBA *> *colors;
// 覆盖模式下的多种颜色
@property (nonatomic, strong)NSMutableArray<NSMutableArray<ZZColorRGBA *> *> *colorsGroup;
// 是否是逆时针
@property (nonatomic, assign)BOOL isAnticlockwise;
// 颜色数量
@property (nonatomic, assign)NSInteger colorNumber;
// 拖尾长度 0~1
@property (nonatomic, assign)CGFloat tuoWeiLength;
// 颜色组合数
@property (nonatomic, assign)NSInteger colorZuHeShu;
// 频率 0~1
@property (nonatomic, assign)CGFloat pinLv;
// 亮度0~1
@property (nonatomic, assign)CGFloat lightValue;
// 输出的颜色 如果是覆盖模式则输出颜色是一个数组嵌套数组的形式
@property (nonatomic, readonly)NSArray *outPutColors;
// 外边图片的大小
@property (nonatomic, assign)CGSize  imageSize;
// 渲染图片
@property (nonatomic ,copy)NSString *imagePath;
// 是否被选择
@property (nonatomic, assign)BOOL isSelect;

// 根据LED灯数量返回指定颜色数组
- (NSArray <UIColor *> *)colorForLEDNumber:(NSInteger)ledNumber;

// 重新画图
- (void)reloadImage;
// 重新画图 覆盖模式专用
- (void)reloadImageForIndex:(NSInteger)index;
// 判断两个模型是否一致
- (BOOL)isEqualModel:(ZZLightLineModel *)model;

- (void)equalToModel:(ZZLightLineModel *)model;

@end
